這週的分享來跟大家聊聊一些軟體建設的基礎,因為常常在和朋友聊天的時候,談到一些公司導入敏捷開發,但執行起來卻不是很順暢的情境,所以想趁這個機會和大家聊聊我的一些想法。
使用敏捷方法進行開發最大的好處是能夠盡快的交付價值,並且收集反餽,作為快速疊代的基礎。但往往敏捷失敗最大的原因,是忽略了先建立好能夠支持敏捷方法的基礎建設,舉例來說,如果今天沒有足夠的單元測試、自動化測試,那怎麼可能保證在快速交付的同時,維持產品的品質呢?
舉一個很實際的例子,假設今天我們是一個 ”成熟” 的敏捷開發團隊,每一個 Sprint (兩週) 固定可以完成 20 個 User story,而目前團隊已經完成 100 個 User story 功能上線,我們每一個 Sprint 的目標是,在盡可能交付新的 User story 的同時,要確保原本既有的功能使用正常,這樣才能夠對客戶帶來最良好的使用者體驗。這樣的情境假設應該是每一個敏捷團隊希望達成的目標,甚至是希望能夠透過持續改進的方式,讓團隊和產品成長的同時,交付速度越來越快,但是由於團隊希望可以專注在 「交付價值」(注意這邊這個交付價值的定義),所以一切都以 ”開發” 功能為優先,在 Merge PR 或是上線前再多做一些測試確保功能正常。這一切聽起來都非常的合理,大家專注在交付價值,但是在幾個 Sprint 之後,卻發現使用者抱怨系統問題的頻率變高了?
這個情境其實是一個很常見的誤區,由於想要趕快先交付價值,讓系統上線,所以打算等有空的時候再補測試,或是先用手動測試,但卻忽略了功能成長時測試案例增加的速度,如果原本團隊已經有 100 User story,每週可以穩定交付 20 個新的 User story,那麼只要 5 個 Sprint,需要驗證的功能數量就會變成一開始的 2 倍,只要經過一年,測試的工作量就會將近變成 7 倍,通常到最後都會變成,只測試覺得有被修改的部分,或是感覺需要測試的部分,剩下大部分的功能都不會被測試到,自然而然產品就會越來越多小問題,也越來越不敢隨意修改,反而導致開發速度大幅度下降,甚至是因為不敢大幅度的修改,失去了重構的機會,然而讓程式碼更難維護,然後又發生越來越多的問題,進入了一個惡性的循環!
所以從一開始定義正確價值交付就是一個很重要的議題,在定義產出的時候,就必須要把維持產品品質最低限度的標準都包含進去,例如是否有經過 Linter 確保程式碼風格一致,所有產出的 Feature 都包含單元測試、自動化測試甚至是安全測試或壓力測試等等,讓這些成為產出的標準,自然而然就可以在持續疊代的同時,維持產品的品質,甚至是持續優化交付的速度!所以當進行敏捷開發時,必須要時時刻刻的檢視自己是否有把「品質」當作一個重要的指標,能夠很好的了解自己的產品價值所在,注重軟體開發的本質,才能夠更進一步的有穩定的疊代產出!
基本功是無論如何還是很重要的啊,如果沒有好好的打好基礎,不管用的方法工具再先進,都是跑不快的!
敏捷開發 失敗案例 在 閱讀前哨站 Facebook 的最佳解答
🙋無論你上班族或打工族,問問自己:是否正在儲備著未來發展的能量?抑或只是圖個溫飽過一天算一天的日子?
🛒不妨看看這位在亞馬遜工作年資最久的韓國人,從「學徒」朝「匠人」之路邁進的故事「每一場冒險都始於安全地帶。」
👨💼【《跟貝佐斯學創業》看亞馬遜員工如何用3個心法在職創業】
🔗圖文版:https://readingoutpost.com/i-saw-the-future-at-amazon/
-
#這本書在說什麼
《跟貝佐斯學創業》的作者是朴鼎浚,他在2004年加入亞馬遜後一共工作了12年,也是年資最久的韓國人。後來他離職出來創業,並且回顧在亞馬遜工作的所見所聞,寫成這本類傳記的商管書籍,讀起來輕鬆有趣,從許多小故事勾勒出亞馬遜的創業精神。
作者的「師傅」亞馬遜成了第四次工業革命最受矚目的大企業,不只是個讓他求溫飽的地方,而是充滿各種試煉讓他當了十二年「學徒」的地方。更幸運的是,在這裡提供令人稱羨的薪水,讓他不斷學習、成長,朝向「匠人」(Master)之路邁進。
作者用第一人稱撰寫,揭露很多亞馬遜不為人知的一面(有好有壞),也討論到執行長貝佐斯這些年來傳達給員工的信念與原則。其中最為人熟知的就是「Day1精神」,提醒員工「我們永遠活在網路時代的第一天」,持續追求創新而且虛懷若谷。
亞馬遜是史上第二家市值破兆的公司(第一家是蘋果),其營運模式也很值得一提。自1997年來,每年的營收額(Revenue)等比增加,但是淨利(Net Income)卻是持平的。當這兩者的差距越大,就代表能被用來投入新產業的資本額越多。就像農夫收成之後 ,只留下自己夠吃的食糧,剩下的用來買更大的農地持續耕作。
跟其他公司不同的地方在於,亞馬遜營業的利潤並不是拿來發給股東們,而是幾乎毫無保留地用來投資未來的業務拓展。某方面來說,像極了我之前讀過《訂閱經濟》提到訂閱財務模式,看的是未來的獲利與成長,「將所有獲利花在成長上,只要水桶沒漏水」。這,不就是亞馬遜的做法嗎?
這篇文章我想記錄作者12年來工作的歷程中,在亞馬遜從「學徒」開始做起朝向「匠人」之路邁進,沿途看到和學到的三個「在職創業者」值得學習的心法:節儉謙遜、以客為尊、與眾不同。
-
#1自己要節儉謙遜
聽作者的現身說法,從三個地方看亞馬遜保持節儉的做法以及謙遜的企業態度,鼓勵員工節約不必要的開銷,也要培養胸襟聆聽其他人的意見。我想對台灣企業說的是:「如果擺明要做 Cost Down,理由可以編得漂亮一點嗎?」
著名的門板桌故事
談到亞馬遜的節儉精神,想必很少有公司能出其右。最為人所知的就是創業初期經濟拮据,貝佐斯為了省錢,靈機一動採用「門板」當成桌子,價格不但比桌子便宜,而且使用起來還滿舒服的(?)。一直到現在,從實習生到大老闆,所有員工使用的辦公桌都是門板桌,而且連會議室的桌子也不例外。
貝佐斯總是這麼說:「門板桌代表了亞馬遜的謙虛內斂,我們只把錢花在對客戶有幫助的地方」對全體員工的意義在於,時時刻刻提醒要跳脫傳統框架思考,用更有創意的方式去尋找解法。有趣的是,作者離職後還想要帶一張門板桌走,不過最後被公司拒絕。
為什麼販賣機總是暗矇矇的?
這是個讓我讀到的時候一頭霧水的事情,亞馬遜的自動販賣機非常「暗」,無論是公司總部或者倉儲廠區都一樣,到底為什麼?這是因為販賣機的燈,主要的功能是讓廣告能被看得更清楚,必非必要的照明功能。所以就…省下這筆電費吧。
作者解釋到,雖然把販賣機照明的錢省下來對這麼大的公司也許起不了作用,卻能讓人切身體會到亞馬遜的思考模式和經營哲學,呼應到大老闆貝佐斯說的:「減少不必要的浪費,把節省下來的資源用在顧客身上,讓公司持續成長,最後所有回報都會回到股東,也就是每一位員工身上。」
保障每個人的提問權
亞馬遜擁有謙遜的企業文化,也具備一個讓人能輕鬆提問的環境。因為懂得讓年輕員工表達意見的公司,比一般公司更敏銳、更容易出現有創意的想法。在亞馬遜的會議基本上都是問答方式進行,主持人將會議內容寫成文件,讓與會者讀完之後不停發問對答。
作者多年觀察發現,「我可以問一個蠢問題嗎?」是在亞馬遜最常聽到的一句話。對亞馬遜人而言,不懂裝懂才是最愚蠢的行為。對不懂的事情誠心發問,反而會被大家感謝,組織成員之間的理解度才會提高,也不容易產生矛盾與誤會。
-
突破困境的唯一方法就是創造一條你自己的路。
One of the only ways to get out of a tight box is to invent your way out.
-
#2觀念要以客為尊
貝佐斯總是三句不離「顧客」,亞馬遜給人的形象也總是以客為尊。透過作者的視角,可以體認到這間公司如何在每個環節,體現了顧客至上的精神到淋漓盡致,收得的成效至今仍不斷回饋到公司的成長上。
感動一名顧客就能吸引一百名顧客
作者提到一個發生在客服部門的故事。某家報社記者喬(Joe)在亞馬遜訂購一台PS3當作給兒子的聖誕禮物,但節慶到來的前幾天他卻遲遲沒收到包裹。他致電亞馬遜確認包裹已經送達,但是由鄰居簽名代收,而且還把包裹放在喬的門口。
在美國的送禮旺季,門口包裹被偷走是很常見的事情。他最後求助於亞馬遜,把事情經過一五一十告訴客服。亞馬遜當天就免運寄出全新的PS3到喬的手上。聖誕節過後,喬寫了一篇文章分享這個小故事,還刊登在自家報社上。這次吸引到的不是一百名顧客,恐怕是幾百萬名顧客。
所有新專案都是以終為始
亞馬遜在開發任何新產品或服務的時候,總是採用這個手法「新聞稿」。意思是,初期規劃新產品的時候,要求負責人先寫一篇新聞稿,「用消費者的角度去思考」,點出產品或服務的核心價值。想像出產品上市時,新聞稿會怎麼寫,客戶會怎麼看待這項產品。
我讀過另一本《未來地圖》裡有更詳細的說明,這個做法又稱「倒推法」,解釋要研發的產品功能和原因,然後寫一份「常見問題」清單。模擬上市情況,或用其他方式來勾勒客戶經驗,甚至會寫一份實際的用戶手冊,描述如何使用該產品。以上工作都順利完成後,公司才允許開發實際產品。
為了視障者的無障礙設計
作者講了一個鮮為人知的故事,是美國視障者協會,曾經以網站使用不便為由,對亞馬遜提起訴訟。在員工立場來想,亞馬遜如果妥協同意,就必須投入大量心血,去完成一個其他網站根本不必要進行的改善作業,而且以後的新功能都要考量到視障人士的方便。
這場看似很不公平的訴訟,貝佐斯卻把這個改善作業,視為作者當時部門的優先要務。亞馬遜大幅更改網頁文字、連結網址、圖檔等資料,還建立視障人士實驗室,最後終於實現整個網站的無障礙作業。你猜成效如何?這些視障者們不但愛死了亞馬遜,之後還到處幫它宣傳。
-
公司的品牌就像一個人的名聲。想換得好名聲就得把困難的事情做好。
A brand for a company is like a reputation for a person. You earn reputation by trying to do hard things well.
-
#3想法要與眾不同
作者在書的尾聲說到,如果形容一個人很「亞馬遜」,意思就是說他是個:在瞬息萬變的環境中,尋找「非我不可的事」,並不斷挑戰與實現創新的人。他從亞馬遜身上學到的精華一課,就是如何發掘自己「與眾不同」,思考出自己獨特的創業模式。
只學別人成功的影子終將失敗
亞馬遜並非所有事業都是成功的,也有許多慘不忍睹的失敗,例如模仿谷歌的搜尋引擎A9、追隨熱潮的智慧型手機Fire Phone、服飾網購Endless、在地服務Amazon Local。依照作者多年觀察下來,他歸納亞馬遜的所有失敗案例,都是因為「學別人」。
反而是亞馬遜三大核心業務(尊榮會員制、賣家平台、雲端服務),都是走在業界前端,而且起初完全不被人看好,堅持初衷收得美好果實。作者感悟到:「我們不用活得像誰,只需要活出我們自己,不要一味地去跟他人比較,要懂得找到自己的『與眾不同』。」
後悔最小化框架
作者提到貝佐斯2010在母校普林斯頓大學的演講〈面臨人生十字路口的時候該如何進行抉擇?〉,說明了抉擇需要勇氣,多年後回顧要以不後悔為最終依歸。哲學家尚-保羅·沙特(Jean Paul Sartre)曾說:「人生就是介於B與D中間的C。」(Life is Choice between Birth and Death.)
該如何做出重大抉擇?貝佐斯說只要想像六十歲的自己,在一個安靜的小房間裡,靜靜地回顧自己的一生,而完全不會感到後悔。但如果現在不去嘗試,將來一定活在後悔的深淵。他在演講的尾聲說了這句名言:「我們的選擇塑造了我們的人生。」
企業成長的飛輪效應
在亞馬遜工作這麼多年,作者對於於貝佐斯著名的「飛輪效應」(Flywheel Effect)策略很有感觸,在公司所有的事業項目都必須為這個策略的良性循環帶來一定貢獻。這個特別的策略亞馬遜的企業成長模式,貝佐斯在某次主管聚餐時,在餐巾紙上隨意畫出來的。
仔細觀察可以發現圖中有兩個成長循環,第一個循環是:產品種類→顧客體驗→訪客人數→賣家人數。第二個循環是:成長→低成本結構→低售價→顧客體驗。為了使這個靜止的飛輪轉動起來,一開始必須花很大的力氣推動每一圈,但是當飛輪轉動得越來越快,就很難再停下來,且能夠更不費力地使它不停轉動。
-
我們的選擇塑造了我們的人生。
In the end, we are our choices.
-
#豆知識小補
當代的軟體公司的開發流程,很流行「敏捷式軟體開發」這套做法,亞馬遜則是採用其中的「Scrum」方式。以前不求甚解不太知道Scrum代表的是什麼,恰好讀到作者用很生動的描述解釋了這套方法。原來,Scrum是英式橄欖球的用語,指的是選手圍繞著橄欖球的「列陣爭球」動作。接著會以短而流暢的節奏,分階段向對方的球門線進攻,直到球觸地為止。
這個分階段的短距離衝刺又被稱為「衝刺」(Sprint)。在每個「衝刺」之間,比賽會暫停,讓選手們討論比賽狀況和戰略,決定下一個「列陣爭球」要採用的隊形並分派各自的角色。敏捷式軟體開發流程就是這麼回事,透過短而有效率的疊代衝刺,過程中持續反省與微調做法,不斷朝最終目標邁進。
-
#後記
之前讀過另一本《貝佐斯傳》,主要是從貝佐斯的視角出發,寫他的故事和觀點。《跟貝佐斯學創業》這本書,則是透過真正在內部工作12年的作者,以員工的視野看亞馬遜這個商業帝國,以及執行長貝佐斯如何永保創業精神,帶領公司持續邁向更大的成長。
書中提到一個讓人深思的概念:「過去,我們用土地、資本、和工廠等生產條件,將人類分為資本家與勞動者,未來這個標準將完全被顛覆。未來我們能夠更天馬行空地想像,去判斷其他人真正需求的是什麼。能不能連接起有效的資源,並不斷地實現創新以滿足這些需求,才是未來的新標準。」
作者運用這種思維,把自己與眾不同的優勢整合之後,後來創業賣起「遊戲墊」這項產品。他說「我們每個人都是與眾不同的」,我們所處的環境和我們在不知不覺中累積起來的經驗,都是屬於自己的優點,也是我們能為其他人貢獻的美好價值。
對他來說,亞馬遜只是他的人生過程,而不是他的終極目標。這段故事值得每個上班族思考,自己在公司的種種歷練,是否儲備著未來發展的能量?抑或只是圖個溫飽過一天算一天的日子?
最後,很喜歡作者賣遊戲墊想出來的宣傳文案:「每一場冒險都始於安全地帶。」你用什麼心態待在安全地帶?準備好揚帆出航開始屬於自己的冒險嗎?
-
每一場冒險都始於安全地帶。
Every adventure starts from the safe ground.
敏捷開發 失敗案例 在 91 敏捷開發之路 Facebook 的最讚貼文
失敗是成本還是養分,就看有沒後續對應的調整行動。
這是在 2018 Agile Tour 台北場和高雄場的分享。藉由一個在 2015 年真實的大型產品開發案例,提供給產業朋友們參考與交流。(文件中已經移除了許多真實信件內容,所有現場照片也都加碼了!)#送給那半年一起江山打拼的五十多位夥伴們!
選擇這個案子做分享,主因有二:一是這個這個案子是鈦坦科技在導入敏捷開發後的第一個大型開發案,站在現在 (2018) 進行回顧,便會發現其中有好多可以持續改善的環節。在這一場商戰中,產品是失敗了,但團隊活下來了。投資在人的學習資產上,這些效益一直延續至今日的鈦坦。
二是在這個案子中,快速與大量的曝露出當年 (2015) 鈦坦的處境「部門穀倉、溝通不暢、技術不流、人才缺口、文化稀釋…」等,各種難題湧現並在接下來的數年間持續陣痛,這些後來都成了鈦坦科技在敏捷轉型中的重要養份。這些常見的敏捷轉型問題,在各個企業中都有相類似的症狀,如何克服與改善是有些方法和步驟的,轉型是長期投資,你 (組織) 願意投入與改善嗎?
成功轉型並非偶然,小處著手,大事著眼。再次提醒自己不要用戰術上的勤奮,掩蓋戰略上的懶惰。 #TeamTitansoft
敏捷開發 失敗案例 在 91 敏捷開發之路- 失敗是成本還是養分 - فيسبوك 的必吃
這是在2018 Agile Tour 台北場和高雄場的分享。藉由一個在2015 年真實的大型產品開發案例,提供給產業朋友們參考與交流。(文件中已經移除了許多真實信件內容,所有 ... ... <看更多>
敏捷開發 失敗案例 在 敏捷幫您加速開發產品,組織順利轉型! - Pinterest 的必吃
Jun 14, 2019 - TibaMe學習網聯手鈦坦科技,Agile-Scrum敏捷開發管理課程:【手把手帶你跑敏捷系列】線上學習課程,讓你隨時學到最新管理方式「Scrum」幫助組織企業 ... ... <看更多>
敏捷開發 失敗案例 在 敏捷開發失敗案例、敏捷策略、敏捷式管理在PTT/mobile01 ... 的必吃
在敏捷開發失敗案例這個討論中,有超過5篇Ptt貼文,作者pchunters也提到提升基隆捷運效益的2點建議:直通運轉和快慢車蘋果郭淨宇2022.3.10 近期基隆捷運終於蘇貞昌院長 ... ... <看更多>